package edu.uoc.tds.pec4.gestor;

import java.rmi.Remote;
import java.rmi.RemoteException;
import edu.uoc.tds.pec4.model.SS4_Acceso;
import edu.uoc.tds.pec4.model.SS4_Checkin;
import edu.uoc.tds.pec4.model.SS1_TipoEvento;
import edu.uoc.tds.pec4.model.SS2_Evento;
import edu.uoc.tds.pec4.model.SS4_DatosInscripcion;
import edu.uoc.tds.pec4.model.SS4_Inscripcion;
import java.util.List;

/**
 * Tecnicas de Desarrollo de Software - (UOC)
 * Interfaz de definicion para el tratamiento del subsistema de conexion y reservas
 * @author Pedro Bauzá Picó
 * @version 1.0
 */
public interface GestorConexion extends GestorDisco {

    public abstract SS4_Acceso comprobarLoguin(String p_Loguin, String p_Contrasenya) throws RemoteException, Exception;
    public abstract int cambiarContrasenya(int p_Cod_usuario, String p_Contrasenya) throws RemoteException, Exception;
    public List<SS1_TipoEvento> getListaTipoEvento() throws RemoteException, Exception;
    public List<SS2_Evento> getListaEvento(String p_TipoEvento) throws RemoteException, Exception;
    public List<SS4_Checkin> getListaCheckIn(String p_TipoEvento) throws RemoteException, Exception;
    public Boolean setListaCheckIn(List<SS4_Inscripcion> p_Lista) throws RemoteException, Exception;
    public List<SS1_TipoEvento> getListaTipoEvento(int p_Rol) throws RemoteException, Exception;
    public List<SS2_Evento> getListaEvento(String p_TipoEvento, String p_FecInicial, String p_FecFinal, int p_Rol) throws RemoteException, Exception;
    public SS4_DatosInscripcion getDatosInscripcion(String p_Id_Evento) throws RemoteException, Exception;
    public Boolean getEstarInscrito(String p_Id_Evento, int p_Usuario) throws RemoteException, Exception;
    public Boolean getAsistidoEvento(List<SS2_Evento> p_Lista, int p_Usuario) throws RemoteException, Exception;
    public Boolean getAsistirEvento(int p_Id_Evento, int p_Usuario) throws RemoteException, Exception;
    public int insertInscripcion(SS4_Inscripcion inscripcion) throws RemoteException, Exception;
}
